package com.demo.java.OD201_250.OD240;

import java.util.ArrayList;
import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【报数游戏】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145960020
 */
public class OdMain {
    private static void solveMethod(int n) {
        // 判断输入n是否合法
        if (n <= 1 || n >= 100) {
            System.out.println("ERROR");
            return;
        }

        // 初始化一个ArrayList，包含1到100的数字，表示100个人
        ArrayList<Integer> arrayList = new ArrayList<>();
        for (int i = 1; i <= 100; ++i) {
            arrayList.add(i);
        }

        // 当前报数的数字以及位置指针初始化
        int currentNumber = 0;
        int pos = 0;

        // 进行报数并移除人，直到剩下的人少于n
        while (arrayList.size() >= n) {
            currentNumber++;
            // 当报数到n时，移除当前编号的人
            if (currentNumber == n) {
                arrayList.remove(pos);
                currentNumber = 0; // 重置报数
            } else {
                pos++; // 移动到下一个位置
            }

            // 如果位置指针越界，则回到最开始的位置
            if (pos == arrayList.size()) {
                pos = 0;
            }
        }

        // 输出剩余人的编号，使用逗号分隔
        for (int i = 0; i < arrayList.size(); i++) {
            System.out.print(arrayList.get(i));
            if (i != arrayList.size() - 1) {
                System.out.print(',');
            }
        }
    }

    public static void main(String[] args) {
        try (Scanner scanner = new Scanner(System.in)) {
            int number = scanner.nextInt();
            solveMethod(number);
        }
    }
}